/**
 *  Tray 图标, 并且其拥有系统通知区域的独立上下文菜单
 * 在 MacOS 和 Ubuntu, 托盘将位于屏幕右上角上，靠近你的电池和wifi 图标。 在 Windows 上，托盘通常位于右下角。
 */

const { app, Tray, Menu, nativeImage } = require('electron')
const path = require('path')

/**
 * 如果你只是要一个快速的修复方案，你可以用下面的方式改变变量的作用域，防止这个变量被垃圾回收。

const { app, Tray } = require('electron')
app.whenReady().then(() => {
  const tray = new Tray('/path/to/icon.png')
  tray.setTitle('hello world')
})
改为

const { app, Tray } = require('electron')
let tray = null
app.whenReady().then(() => {
  tray = new Tray('/path/to/icon.png')
  tray.setTitle('hello world')
})
 */
module.exports = () => {
  const resPath = path.join(process.cwd(), 'resources')
  const icon = nativeImage.createFromPath(path.join(resPath, 'icon.png'))
  let tray = new Tray(icon)
  // let tray = new Tray(path.join(resPath, 'icon.png'))

  const contextMenu = Menu.buildFromTemplate([
    { label: 'Item1', type: 'radio' },
    { label: 'Item2', type: 'radio' },
    { label: 'Item3', type: 'radio', checked: true },
    { label: 'Item4', type: 'radio' },
  ])

  tray.setContextMenu(contextMenu)

  tray.setToolTip('This is my application')
  tray.setTitle('This is my title')
}